package generatorGraphics.graphicsCategory;

import generatorGraphics.graphics.Graph;
import java.awt.GridBagConstraints;
import java.util.ArrayList;
import javax.swing.ImageIcon;

public class Category {
    
    protected String name;
    protected int id;
    
    protected int typeOptions;
    
    protected ArrayList<Graph> graphicsList;
    protected ImageIcon image;
    
    protected String pathImage;
    
    public Category(){
        this.graphicsList = new ArrayList<>();
        //Definir um path default: pathImage = 
    }

    public void addGraph(Graph graph){
        graphicsList.add(graph);
    }
    
    public void removeAllGraph(){
        graphicsList.clear();
    }
    
    /**
     * Método extra para geração de icones (Em analise)
     */
    private static final GridBagConstraints gbc;  
    static {  
        gbc = new GridBagConstraints();  
        gbc.gridx = 0;  
        gbc.gridy = 0;  
        gbc.weightx = 1.0;  
        gbc.weighty = 1.0;  
        gbc.fill = GridBagConstraints.BOTH;  
        gbc.anchor = GridBagConstraints.NORTHWEST;  
    }
    
    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the id
     */
    public int getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * @return the typeOptions
     */
    public int getTypeOptions() {
        return typeOptions;
    }

    /**
     * @param typeOptions the typeOptions to set
     */
    public void setTypeOptions(int typeOptions) {
        this.typeOptions = typeOptions;
    }

    /**
     * @return the graphicsList
     */
    public ArrayList<Graph> getGraphicsList() {
        return graphicsList;
    }

    /**
     * @param graphicsList the graphicsList to set
     */
    public void setGraphicsList(ArrayList<Graph> graphicsList) {
        this.graphicsList = graphicsList;
    }

    /**
     * @return the image
     */
    public ImageIcon getImage() {
        return image;
    }

    /**
     * @param image the image to set
     */
    public void setImage(ImageIcon image) {
        this.image = image;
    }
    
}
